import React, { Component } from "react";

// React 路由懒加载
export default function (comImportFun) {
  return class Demo extends Component {
    constructor(props) {
      super(props);
      this.state = {
        CompObj: null,
      };
    }

    async componentDidMount() {
      const { default: CompObj } = await comImportFun();
      this.setState({
        CompObj,
      });
    }

    render() {
      const Com = this.state.CompObj;
      return Com ? <Com {...this.props}></Com> : null;
    }
  };
}

// export default function lazyLoad(componentfn) {
//   class LazyloadComponent extends Component {
//     constructor(props) {
//       super(props);
//       this.state = {
//         component: null,
//       };
//     }
//     async componentDidMount() {
//       const { default: component } = await componentfn();
//       this.setState({ component });
//     }
//     render() {
//       const C = this.state.component;
//       console.log(C, "CCC");
//       debugger;
//       return C ? <C {...this.props} /> : null;
//     }
//   }
//   return LazyloadComponent;
// }
